README for yCPUBench for PalmOS, version 0.9

This is a PalmOS handheld benchmarking utility.  It runs on Palm OS
versions 3.0 to 6.x, and includes arml/PNOlets to test OS 5 native
ARM CPU performance, as well as the more common 68k code for OS 4
MC68000 Dragonball based units and emulation under PACE on OS 5
units.

It include several different benchmarks, each of which test some
small aspect of CPU or memory performance.

The first two benchmarks included in this initial release are both
small integer tests.  These small benchmarks do not test the memory
system in the new ARM CPU systems since they fit completely in cache.
Compiler optimizations were also set at a fairly low level.  Therefore
these benchmarks do not represent "real world" application
performance.

The reported "bogo-68k-MHz" values are scaled approximately relative to
a MC68000 running in system with no memory wait states, and are mostly
there for humor value.

The first benchmark is the Byte sieve, published in Byte magazine
issues in Sep 1981 and Feb 1983.   The sieve array size is set at 8192.
The time reported for 10 loops of Byte sieve on a 1 "MIP" VAX 11/780
super-minicomputer was 1520 milliseconds (should be equivalent to
152 mS for 1 loop).  

The second benchmark uses public domain C code for a complex integer
fft using a pre-initialized array for sin() table lookup.  The data
size is set to 256 complex points.

Benchmarks 3 thu 6 are memory bandwidth benchmarks.  These benchmarks
read or write to a region of memory using a loop unrolled to 4 long int
statements.  The region of memory is larger than 32kB, which should be
larger than the data cache.

Benchmark 7 is a floating point math intensive benchmark.  It
calculates, using double precision math, a Mandlebrot set (depth of
100) for a 32x32 size monochrome bitmap, and returns the number of
black dots in the bitmap.

The above armlet code was compiled with arm-elf-gcc 3.1.1 -O1

Benchmark 8 is the same floating point test as in benchmark #7 above,
but compiled with the Metrowerks Codewarrior for PalmOS v9.3 tools.

Benchmark 9 is the same as complex ifft code as benchmark #2 above,
but compiled with the Codewarrior armlet compiler, with thumb mode
turned off, and all speed optimizations turned on.

All the 68k code was compiled with Codewarrior for Palm v8
68KCCompiler.dll (2.4.6 Build 0196), at optimization level 2 for
faster code.

Version 0.9  2004-Feb-19
 - recompiled mbrot32v9 and ifft256v9 PNOlets under CW v9.3.
Version 0.8  2003-Nov-14
 - changed screen write benchmark to use OS draw commands.
Version 0.7b8
 - recompiled Mandlebrot32v9 & ifft256v9 armlets under CW v9.2
 - changed the results display to make them less confusing.
 - Recompiled 68k code with CW v8 compiler under MacOS.
Version 0.6b2
 - Fixed typo in Mandlebrot benchmark results display.
Version 0.6
 - Added Codewarrior v9 Mandlebrot and ifft armlets.
 - Recompiled 68k code with CW v9 compiler.
Version 0.4
 - Added Mandlebrot floating point math test.
Version 0.3
 - Bug fix release
Version 0.2
 - Increases some loop counts for better timer accuracy
 - Added display memory read & write bandwidth tests
 - Added offscreen bitmap read & write bandwidth tests

This application is free for non-commercial and personal use.
No warranties of any kind implied.

See  <http://www.hotpaw.com/rhn/hotpaw>  for updates, and for
other HotPaw applications.      email: rhn@hotpaw.com

Copyright 2003-2004 HotPaw Software.  All Rights Reserved.
--
